<?php
    namespace Admin\Model;
    use Think\Model;

    class CategoryModel extends Model{
        private $m_data = array();

        //验证条件
        //self::EXISTS_VALIDATE 或者0 存在字段就验证（默认）
        //self::MUST_VALIDATE 或者1 必须验证
        //self::VALUE_VALIDATE或者2 值不为空的时候验证

        //验证时间
        //self::MODEL_INSERT或者1新增数据时候验证
        //self::MODEL_UPDATE或者2编辑数据时候验证
        //self::MODEL_BOTH或者3全部情况下验证（默认）
        //array(验证字段1,验证规则,错误提示,[验证条件(默认存在就验证),附加规则,验证时间(默认全部情况下验证)])
        protected $_validate = array(
            array('name','not_empty','分类名称不得为空',1,'function'),
//            array('url','not_empty','栏目路径不得为空',1,'function'),
        );

        //自动完成
        protected $_auto = array(
            array('sort','intval',3,'function'),
            array('c_time','time',1,'function'), // 对c_time字段在新增的时候写入当前时间戳
            array('u_time','time',3,'function'), // 对u_time字段在新增和更新的时候写入当前时间戳
        );

        public function setData($data){
            $this->m_data = $data;
        }

        public function getData(){
            return $this->m_data;
        }

        /**
         * 插入到数据库
         * @return bool|mixed
         */
        public function insertDb(){
            if(!$this->create($this->m_data,1)){
                //自动验证出错 返回false 让控制器报错
                return false;
            }
            //通过自动验证
            $res = $this->add();
            return $res;
        }

        /**
         * 修改到数据库
         * @return bool
         */
        public function updateDb(){
            if(!$this->create($this->m_data,2)){
                return false;
            }
            $res = $this->save();
            return $res;
        }
    }
?>